package com.cbh.feign.controller.vehicle;



import java.util.List;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.cbh.api.model.ApiResult;
import com.cbh.api.model.vehicle.VehicleCompanyRecord;

public interface VehicleCompanyRecordControllerBase {

	/**
	 * 根据保险公司车辆表 ID 获取车辆信息(报价用)
	 * 
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/auth/v3/companyrecord/{id}", method = RequestMethod.GET, produces = "application/json")
	public ApiResult<VehicleCompanyRecord> getOb(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@PathVariable(value = "id", required = true) String id);

	/**
	 * 根据保险公司车辆表 ID 获取车辆信息(报价用)
	 * 
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/auth/v3/companyrecord/param", method = RequestMethod.GET, produces = "application/json")
	public ApiResult<VehicleCompanyRecord> param(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "crComId", required = true) String crComId,
			@RequestParam(value = "crVehId", required = true) String crVehId,
			@RequestParam(value = "crCode", required = true) String crCode);

	/**
	 * 根据保险公司车辆表 ID 获取车辆信息(报价用)
	 * 
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/auth/v3/companyrecord/vehrecord", method = RequestMethod.POST, produces = "application/json")
	public ApiResult<List<VehicleCompanyRecord>> vehrecord(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "id", required = true) String id,
			@RequestParam(value = "url", required = true) String url,
			@RequestParam(value = "insuranceCompanyId", required = true) String insuranceCompanyId,
			@RequestParam(value = "comName", required = true) String comName,
			@RequestParam(value = "comType", required = true) String comType

	);

	/**
	 * 根据保险公司车辆表 ID 获取车辆信息(报价用)
	 * 
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/auth/v3/companyrecord/vehrecord", method = RequestMethod.GET, produces = "application/json")
	public ApiResult<List<VehicleCompanyRecord>> vehrecord(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "id", required = true) String id,
			@RequestParam(value = "insuranceCompanyId", required = true) String insuranceCompanyId

	);

	/**
	 * 根据保险公司车辆表 ID 获取车辆信息(报价用)
	 * 
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/auth/v3/companyrecord/comId", method = RequestMethod.POST, produces = "application/json")
	public ApiResult<List<VehicleCompanyRecord>> findByComIdInCode(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "comId", required = true) String comId,
			@RequestParam(value = "crCodes", required = true) List<String> crCodes);

	/**
	 * 根据保险公司车辆表 ID 获取车辆信息(报价用)
	 * 
	 * @param id
	 * @return
	 */
	@RequestMapping(value = "/auth/v3/companyrecord/crCode", method = RequestMethod.GET, produces = "application/json")
	public ApiResult<VehicleCompanyRecord> crCode(
			@RequestParam(value = "accountToken", required = true) String accountToken,
			@RequestParam(value = "crCode", required = true) String crCode);

}
